/*
  将下面异步代码使用 Promise 的方法改进
  尽量用看上去像同步代码的方式
  setTimeout(function () {
    var a = 'hello'
    setTimeout(function () {
      var b = 'lagou'
      setTimeout(function () {
        var c = 'I ♥ U'
        console.log(a + b +c)
      }, 10)
    }, 10)
  }, 10)
*/



function repeat(...agr) {
  return new Promise( resolve =>{
    resolve(Array.from(agr.flat()));
  } )
}

let creatVariable = repeat('hello')

creatVariable.then(a => {
  return repeat(a, 'lagou')
}).then(b => {
  return repeat(b,'I ♥ U')
}).then( v => {
  let str = '';
  while(v.length) str = str + v.shift();
  console.log(str);
})

